package com.abl.domain.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 菜单表
 * </p>
 *
 * @author 
 * @since 2023-02-24
 */
@Getter
@Setter
@TableName("sys_menu")
public class SysMenu implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * PK
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 名称
     */
    private String name;

    /**
     * 访问地址
     */
    private String path;

    /**
     * 组件路径（代码中）
     */
    private String component_path;

    /**
     * 访问参数（JSON）
     */
    private String param;

    /**
     * 类型（0=目录；1=菜单；2=按钮；3=功能；默认0）
     */
    private String type;

    /**
     * 权限字符（可选，仅当类型为 2或3时 存在）
     */
    private String permission;

    /**
     * 父级菜单名称
     */
    private String pname;

    /**
     * 父级ID
     */
    private Long pid;

    /**
     * 完整层级结构（从左到右的JSON数组）
     */
    private String ids;

    /**
     * 下数第一层子节点数量
     */
    private Integer first_children_count;

    /**
     * 全部层级子节点数量（暂未实现）
     */
    private Integer all_children_count;

    /**
     * 层级
     */
    private Integer level;

    /**
     * 图标
     */
    private String icon;

    /**
     * 国际化配置
     */
    private String ln_key;

    /**
     * 菜单是否展示（0=展示；1=隐藏；默认0）
     */
    private String menu_is_show;

    /**
     * Tab是否显示（0=展示；1=隐藏；默认0）
     */
    private String tab_is_show;

    /**
     * Tab是否可以关闭（0=可关闭；1=不可关闭；默认0）
     */
    private String tab_is_close;

    /**
     * Tab是否展示刷新图标（0=展示；1=隐藏；默认0）
     */
    private String tab_is_refresh;

    /**
     * Tab文字是否显示（0=展示；1=隐藏；默认0）
     */
    private String tab_title_is_show;

    /**
     * Tab图标是否显示（0=展示；1=隐藏；默认1）
     */
    private String tab_icon_is_show;

    /**
     * 面包屑布局是否显示（0=展示；1=隐藏；默认0）
     */
    private String bre_is_show;

    /**
     * 面包屑文字是否显示（0=展示；1=隐藏；默认0）
     */
    private String bre_title_is_show;

    /**
     * 面包屑图标是否显示（0=展示；1=隐藏；默认1）
     */
    private String bre_icon_is_show;

    /**
     * 链接类型（0=非链接；1=内部链接；2=外部链接；默认0）
     */
    private String link_type;

    /**
     * 链接地址
     */
    private String link_url;

    /**
     * 缓存状态（0=开启，1=关闭；默认为0）
     */
    private String cache_status;

    /**
     * 描述信息
     */
    private String desc;

    /**
     * 排序(默认100)
     */
    private Integer sort;

    /**
     * 创建人
     */
    private String d_ca;

    /**
     * 创建时间
     */
    private LocalDateTime d_ct;

    /**
     * 修改人
     */
    private String d_ua;

    /**
     * 修改时间
     */
    private LocalDateTime d_ut;

    /**
     * 版本号（默认0）
     */
    private String d_v;

    /**
     * 状态(0=正常；1=已删除；默认0)
     */
    private String d_s;

    /**
     * 创建人ID
     */
    private Long d_ci;

    /**
     * 修改人ID
     */
    private Long d_ui;
}
